aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/invoice/[id]/tip
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-12-05 19:20:36 -0800
committerAdam Soltys <[email protected]>2024-12-05 19:20:36 -0800
commita9b44cbae79e9c01cff07964a45e1c7efa7fb241 (patch)
tree5caa996fc2eca705fb793e79d63bfbf5f9f93e48 /src/routes/(app)/invoice/[id]/tip
parent6422ef30f14e1baf5d1995de69c777efcad77e32 (diff)
downloadcoinos-ui-a9b44cbae79e9c01cff07964a45e1c7efa7fb241.tar.gz
coinos-ui-a9b44cbae79e9c01cff07964a45e1c7efa7fb241.zip
cached rates
Diffstat (limited to 'src/routes/(app)/invoice/[id]/tip')
-rw-r--r--src/routes/(app)/invoice/[id]/tip/+page.server.ts10
-rw-r--r--src/routes/(app)/invoice/[id]/tip/+page.svelte10
2 files changed, 9 insertions, 11 deletions
diff --git a/src/routes/(app)/invoice/[id]/tip/+page.server.ts b/src/routes/(app)/invoice/[id]/tip/+page.server.ts
index a1ba8924..32eea868 100644
--- a/src/routes/(app)/invoice/[id]/tip/+page.server.ts
+++ b/src/routes/(app)/invoice/[id]/tip/+page.server.ts
@@ -1,13 +1,15 @@
-import { get } from "$lib/utils";
import invoice from "$lib/invoice";
+import getRates from "$lib/rates";
import { redirect } from "@sveltejs/kit";
export async function load({ parent }) {
- const rates = await get("/rates");
- const { invoice } = await parent();
+ const rates = await getRates();
+ const { invoice, user } = await parent();
if (!invoice.amount) redirect(307, `/invoice/${invoice.id}`);
- return { rates };
+ const rate = rates[user.currency];
+ const invoiceRate = rates[invoice.currency];
+ return { rate, invoiceRate };
}
export const actions = {
diff --git a/src/routes/(app)/invoice/[id]/tip/+page.svelte b/src/routes/(app)/invoice/[id]/tip/+page.svelte
index 1c651163..7999030e 100644
--- a/src/routes/(app)/invoice/[id]/tip/+page.svelte
+++ b/src/routes/(app)/invoice/[id]/tip/+page.svelte
@@ -63,7 +63,7 @@
let submit = $state();
let { data } = $props();
- let { invoice, id, user, rates } = $state(data);
+ let { invoice, id, user } = $state(data);
let {
aid,
amount,
@@ -83,7 +83,7 @@
let fullscreen;
let currency = user?.currency || invoice.currency;
- let rate = invoice.rate * (rates[currency] / rates[invoice.currency]);
+ let rate = invoice.rate * (data.rate / data.invoiceRate);
$effect(() => {
tip = Math.round((amount / 100) * untrack(() => tipPercent));
@@ -95,11 +95,7 @@
</script>
<div class="container px-4 max-w-lg text-center mx-auto">
- <form
- method="POST"
- use:enhance
- class="space-y-5"
- >
+ <form method="POST" use:enhance class="space-y-5">
<input type="hidden" name="aid" value={aid} />
<input type="hidden" name="amount" value={amount} />
<input type="hidden" name="tip" value={tip} />